Next: Extended Attributes, Previous: Truenames, Up: Information about Files [Contents][Index]
This section describes the functions for getting detailed information about a file, including the owner and group numbers, the number of names, the inode number, the size, and the times of access and modification.
This function returns t if the file
filename1 is newer than file filename2.
If filename1 does not exist, it returns
nil. If filename1 does exist, but
filename2 does not, it returns t.
In the following example, assume that the file aug-19 was written on the 19th, aug-20 was written on the 20th, and the file no-file doesn’t exist at all.
(file-newer-than-file-p "aug-19" "aug-20")
⇒ nil
(file-newer-than-file-p "aug-20" "aug-19")
⇒ t
(file-newer-than-file-p "aug-19" "no-file")
⇒ t
(file-newer-than-file-p "no-file" "aug-19")
⇒ nil
If the filename argument to the next two functions is a symbolic link, then these function do not replace it with its target. However, they both recursively follow symbolic links at all levels of parent directories.
This function returns a list of attributes of file
filename. If the specified file cannot be opened,
it returns nil. The optional parameter
id-format specifies the preferred format of
attributes UID and GID
(see below)—the valid values are 'string
and 'integer. The latter is the default, but we
plan to change that, so you should specify a
non-nil value for id-format if you
use the returned UID or
GID.
The elements of the list, in order, are:
t for a directory, a string for a symbolic
link (the name linked to), or nil for a text
file.add-name-to-file function (see Changing
Files).(sec-high sec-low
microsec picosec). (This is
similar to the value of current-time; see
Time of Day.)
Note that on some FAT-based filesystems, only the date of
last access is recorded, so this time will always hold the
midnight of the day of last access.(high .
low), where low holds the low
16 bits. If the inode number is too wide for even that, the
value is of the form (high
middle . low), where
high holds the high bits, middle
the middle 24 bits, and low the low 16
bits.For example, here are the file attributes for files.texi:
(file-attributes "files.texi" 'string)
⇒ (nil 1 "lh" "users"
(20614 64019 50040 152000)
(20000 23 0 0)
(20614 64555 902289 872000)
122295 "-rw-rw-rw-"
t (5888 2 . 43978)
(15479 . 46724))
and here is how the result is interpreted:
nilis neither a directory nor a symbolic link.
1has only one name (the name files.texi in the current default directory).
"lh"is owned by the user with name ‘lh’.
"users"is in the group with name ‘users’.
(20614 64019 50040 152000)was last accessed on October 23, 2012, at 20:12:03.050040152 UTC.
(20000 23 0 0)was last modified on July 15, 2001, at 08:53:43 UTC.
(20614 64555 902289 872000)last had its status changed on October 23, 2012, at 20:20:59.902289872 UTC.
122295is 122295 bytes long. (It may not contain 122295 characters, though, if some of the bytes belong to multibyte sequences, and also if the end-of-line format is CR-LF.)
"-rw-rw-rw-"has a mode of read and write access for the owner, group, and world.
tis merely a placeholder; it carries no information.
(5888 2 . 43978)has an inode number of 6473924464520138.
(15479 . 46724)is on the file-system device whose number is 1014478468.
This function returns the number of names (i.e., hard
links) that file filename has. If the file does
not exist, this function returns nil. Note that
symbolic links have no effect on this function, because they
are not considered to be names of the files they link to.
$ ls -l foo* -rw-rw-rw- 2 rms rms 4 Aug 19 01:27 foo -rw-rw-rw- 2 rms rms 4 Aug 19 01:27 foo1
(file-nlinks "foo")
⇒ 2
(file-nlinks "doesnt-exist")
⇒ nil
Next: Extended Attributes, Previous: Truenames, Up: Information about Files [Contents][Index]